[Design pattern]: 设计模式相关系列
介绍
首先明白两个单词:打开和关闭是同一个物体的两种状态,是需要经常互相切换的,不是没有关系的两个单词. let`s Go
概念: 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
应用场景: 关闭着的门–》打开的门–》关闭的门,自动的切换到下一个状态的可执行事件。
好处: 控制对象内部不同的状态执行不同的操作,按照状态流程执行。
典型的状态模式例子
CODE
状态接口
1 | package note.com.state; |
具体状态
1 | package note.com.state; |
1 | package note.com.state; |
1 | package note.com.state; |
根据状态来执行具体操作的类
1 | package note.com.state; |
测试类
1 | package note.com.state; |
结果
1 | 事件一:打开状态执行 |
这个例子非常切合概念,有明显的状态内部的切换,有状态改变后的不同事件